﻿using MyMes.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VOL.Core.Utilities;
using VOL.Core.Utilities.Response;
using VOL.Entity.DomainModels;
using VOL.Entity.DomainModels.Core;
using VOL.Entity.DomainModels.Repository;

namespace MyMES.IServices.ArrivalNotices
{
    public interface IArrivalNoticeService
    {
        /// <summary>
        /// 创建到货通知单
        /// </summary>
        /// <param name="arrivalNotice">到货通知单实体</param>
        /// <returns>操作结果</returns>
        Task<WebResponseContent> CreateShipmentsModel(ArrivalNotice arrivalNotice);
        
        /// <summary>
        /// 更新到货通知单
        /// </summary>
        /// <param name="arrivalNotice">到货通知单实体</param>
        /// <returns>操作结果</returns>
        Task<WebResponseContent> UpdateShipmentsModel(ArrivalNotice arrivalNotice);
        
        
        /// <summary>
        /// 批量删除到货通知单
        /// </summary>
        /// <param name="ids">到货通知单ID列表，以逗号分隔的字符串</param>
        /// <returns>操作结果</returns>
        Task<WebResponseContent> DelShipments(string ids);
        
        /// <summary>
        /// 获取到货通知单列表
        /// </summary>
        /// <param name="dto">查询条件</param>
        /// <returns>分页后的到货通知单列表</returns>
        Task<PageGridData<ArrivalNoticeListDto>> GetShipmentsModelList(GetArrivalNoticeDto dto);
    }
}
